package cn.com.zetatech.hdjc.model;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class HdjcInstrumentRecordExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public HdjcInstrumentRecordExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(String value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(String value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(String value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(String value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(String value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(String value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLike(String value) {
            addCriterion("id like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotLike(String value) {
            addCriterion("id not like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<String> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<String> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(String value1, String value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(String value1, String value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andControlledNumberIsNull() {
            addCriterion("controlled_number is null");
            return (Criteria) this;
        }

        public Criteria andControlledNumberIsNotNull() {
            addCriterion("controlled_number is not null");
            return (Criteria) this;
        }

        public Criteria andControlledNumberEqualTo(String value) {
            addCriterion("controlled_number =", value, "controlledNumber");
            return (Criteria) this;
        }

        public Criteria andControlledNumberNotEqualTo(String value) {
            addCriterion("controlled_number <>", value, "controlledNumber");
            return (Criteria) this;
        }

        public Criteria andControlledNumberGreaterThan(String value) {
            addCriterion("controlled_number >", value, "controlledNumber");
            return (Criteria) this;
        }

        public Criteria andControlledNumberGreaterThanOrEqualTo(String value) {
            addCriterion("controlled_number >=", value, "controlledNumber");
            return (Criteria) this;
        }

        public Criteria andControlledNumberLessThan(String value) {
            addCriterion("controlled_number <", value, "controlledNumber");
            return (Criteria) this;
        }

        public Criteria andControlledNumberLessThanOrEqualTo(String value) {
            addCriterion("controlled_number <=", value, "controlledNumber");
            return (Criteria) this;
        }

        public Criteria andControlledNumberLike(String value) {
            addCriterion("controlled_number like", value, "controlledNumber");
            return (Criteria) this;
        }

        public Criteria andControlledNumberNotLike(String value) {
            addCriterion("controlled_number not like", value, "controlledNumber");
            return (Criteria) this;
        }

        public Criteria andControlledNumberIn(List<String> values) {
            addCriterion("controlled_number in", values, "controlledNumber");
            return (Criteria) this;
        }

        public Criteria andControlledNumberNotIn(List<String> values) {
            addCriterion("controlled_number not in", values, "controlledNumber");
            return (Criteria) this;
        }

        public Criteria andControlledNumberBetween(String value1, String value2) {
            addCriterion("controlled_number between", value1, value2, "controlledNumber");
            return (Criteria) this;
        }

        public Criteria andControlledNumberNotBetween(String value1, String value2) {
            addCriterion("controlled_number not between", value1, value2, "controlledNumber");
            return (Criteria) this;
        }

        public Criteria andOrderTicketIdIsNull() {
            addCriterion("order_ticket_id is null");
            return (Criteria) this;
        }

        public Criteria andOrderTicketIdIsNotNull() {
            addCriterion("order_ticket_id is not null");
            return (Criteria) this;
        }

        public Criteria andOrderTicketIdEqualTo(String value) {
            addCriterion("order_ticket_id =", value, "orderTicketId");
            return (Criteria) this;
        }

        public Criteria andOrderTicketIdNotEqualTo(String value) {
            addCriterion("order_ticket_id <>", value, "orderTicketId");
            return (Criteria) this;
        }

        public Criteria andOrderTicketIdGreaterThan(String value) {
            addCriterion("order_ticket_id >", value, "orderTicketId");
            return (Criteria) this;
        }

        public Criteria andOrderTicketIdGreaterThanOrEqualTo(String value) {
            addCriterion("order_ticket_id >=", value, "orderTicketId");
            return (Criteria) this;
        }

        public Criteria andOrderTicketIdLessThan(String value) {
            addCriterion("order_ticket_id <", value, "orderTicketId");
            return (Criteria) this;
        }

        public Criteria andOrderTicketIdLessThanOrEqualTo(String value) {
            addCriterion("order_ticket_id <=", value, "orderTicketId");
            return (Criteria) this;
        }

        public Criteria andOrderTicketIdLike(String value) {
            addCriterion("order_ticket_id like", value, "orderTicketId");
            return (Criteria) this;
        }

        public Criteria andOrderTicketIdNotLike(String value) {
            addCriterion("order_ticket_id not like", value, "orderTicketId");
            return (Criteria) this;
        }

        public Criteria andOrderTicketIdIn(List<String> values) {
            addCriterion("order_ticket_id in", values, "orderTicketId");
            return (Criteria) this;
        }

        public Criteria andOrderTicketIdNotIn(List<String> values) {
            addCriterion("order_ticket_id not in", values, "orderTicketId");
            return (Criteria) this;
        }

        public Criteria andOrderTicketIdBetween(String value1, String value2) {
            addCriterion("order_ticket_id between", value1, value2, "orderTicketId");
            return (Criteria) this;
        }

        public Criteria andOrderTicketIdNotBetween(String value1, String value2) {
            addCriterion("order_ticket_id not between", value1, value2, "orderTicketId");
            return (Criteria) this;
        }

        public Criteria andInstrumentNumberIsNull() {
            addCriterion("instrument_number is null");
            return (Criteria) this;
        }

        public Criteria andInstrumentNumberIsNotNull() {
            addCriterion("instrument_number is not null");
            return (Criteria) this;
        }

        public Criteria andInstrumentNumberEqualTo(String value) {
            addCriterion("instrument_number =", value, "instrumentNumber");
            return (Criteria) this;
        }

        public Criteria andInstrumentNumberNotEqualTo(String value) {
            addCriterion("instrument_number <>", value, "instrumentNumber");
            return (Criteria) this;
        }

        public Criteria andInstrumentNumberGreaterThan(String value) {
            addCriterion("instrument_number >", value, "instrumentNumber");
            return (Criteria) this;
        }

        public Criteria andInstrumentNumberGreaterThanOrEqualTo(String value) {
            addCriterion("instrument_number >=", value, "instrumentNumber");
            return (Criteria) this;
        }

        public Criteria andInstrumentNumberLessThan(String value) {
            addCriterion("instrument_number <", value, "instrumentNumber");
            return (Criteria) this;
        }

        public Criteria andInstrumentNumberLessThanOrEqualTo(String value) {
            addCriterion("instrument_number <=", value, "instrumentNumber");
            return (Criteria) this;
        }

        public Criteria andInstrumentNumberLike(String value) {
            addCriterion("instrument_number like", value, "instrumentNumber");
            return (Criteria) this;
        }

        public Criteria andInstrumentNumberNotLike(String value) {
            addCriterion("instrument_number not like", value, "instrumentNumber");
            return (Criteria) this;
        }

        public Criteria andInstrumentNumberIn(List<String> values) {
            addCriterion("instrument_number in", values, "instrumentNumber");
            return (Criteria) this;
        }

        public Criteria andInstrumentNumberNotIn(List<String> values) {
            addCriterion("instrument_number not in", values, "instrumentNumber");
            return (Criteria) this;
        }

        public Criteria andInstrumentNumberBetween(String value1, String value2) {
            addCriterion("instrument_number between", value1, value2, "instrumentNumber");
            return (Criteria) this;
        }

        public Criteria andInstrumentNumberNotBetween(String value1, String value2) {
            addCriterion("instrument_number not between", value1, value2, "instrumentNumber");
            return (Criteria) this;
        }

        public Criteria andInstrumentNameIsNull() {
            addCriterion("instrument_name is null");
            return (Criteria) this;
        }

        public Criteria andInstrumentNameIsNotNull() {
            addCriterion("instrument_name is not null");
            return (Criteria) this;
        }

        public Criteria andInstrumentNameEqualTo(String value) {
            addCriterion("instrument_name =", value, "instrumentName");
            return (Criteria) this;
        }

        public Criteria andInstrumentNameNotEqualTo(String value) {
            addCriterion("instrument_name <>", value, "instrumentName");
            return (Criteria) this;
        }

        public Criteria andInstrumentNameGreaterThan(String value) {
            addCriterion("instrument_name >", value, "instrumentName");
            return (Criteria) this;
        }

        public Criteria andInstrumentNameGreaterThanOrEqualTo(String value) {
            addCriterion("instrument_name >=", value, "instrumentName");
            return (Criteria) this;
        }

        public Criteria andInstrumentNameLessThan(String value) {
            addCriterion("instrument_name <", value, "instrumentName");
            return (Criteria) this;
        }

        public Criteria andInstrumentNameLessThanOrEqualTo(String value) {
            addCriterion("instrument_name <=", value, "instrumentName");
            return (Criteria) this;
        }

        public Criteria andInstrumentNameLike(String value) {
            addCriterion("instrument_name like", value, "instrumentName");
            return (Criteria) this;
        }

        public Criteria andInstrumentNameNotLike(String value) {
            addCriterion("instrument_name not like", value, "instrumentName");
            return (Criteria) this;
        }

        public Criteria andInstrumentNameIn(List<String> values) {
            addCriterion("instrument_name in", values, "instrumentName");
            return (Criteria) this;
        }

        public Criteria andInstrumentNameNotIn(List<String> values) {
            addCriterion("instrument_name not in", values, "instrumentName");
            return (Criteria) this;
        }

        public Criteria andInstrumentNameBetween(String value1, String value2) {
            addCriterion("instrument_name between", value1, value2, "instrumentName");
            return (Criteria) this;
        }

        public Criteria andInstrumentNameNotBetween(String value1, String value2) {
            addCriterion("instrument_name not between", value1, value2, "instrumentName");
            return (Criteria) this;
        }

        public Criteria andInstrumentTypeIsNull() {
            addCriterion("instrument_type is null");
            return (Criteria) this;
        }

        public Criteria andInstrumentTypeIsNotNull() {
            addCriterion("instrument_type is not null");
            return (Criteria) this;
        }

        public Criteria andInstrumentTypeEqualTo(String value) {
            addCriterion("instrument_type =", value, "instrumentType");
            return (Criteria) this;
        }

        public Criteria andInstrumentTypeNotEqualTo(String value) {
            addCriterion("instrument_type <>", value, "instrumentType");
            return (Criteria) this;
        }

        public Criteria andInstrumentTypeGreaterThan(String value) {
            addCriterion("instrument_type >", value, "instrumentType");
            return (Criteria) this;
        }

        public Criteria andInstrumentTypeGreaterThanOrEqualTo(String value) {
            addCriterion("instrument_type >=", value, "instrumentType");
            return (Criteria) this;
        }

        public Criteria andInstrumentTypeLessThan(String value) {
            addCriterion("instrument_type <", value, "instrumentType");
            return (Criteria) this;
        }

        public Criteria andInstrumentTypeLessThanOrEqualTo(String value) {
            addCriterion("instrument_type <=", value, "instrumentType");
            return (Criteria) this;
        }

        public Criteria andInstrumentTypeLike(String value) {
            addCriterion("instrument_type like", value, "instrumentType");
            return (Criteria) this;
        }

        public Criteria andInstrumentTypeNotLike(String value) {
            addCriterion("instrument_type not like", value, "instrumentType");
            return (Criteria) this;
        }

        public Criteria andInstrumentTypeIn(List<String> values) {
            addCriterion("instrument_type in", values, "instrumentType");
            return (Criteria) this;
        }

        public Criteria andInstrumentTypeNotIn(List<String> values) {
            addCriterion("instrument_type not in", values, "instrumentType");
            return (Criteria) this;
        }

        public Criteria andInstrumentTypeBetween(String value1, String value2) {
            addCriterion("instrument_type between", value1, value2, "instrumentType");
            return (Criteria) this;
        }

        public Criteria andInstrumentTypeNotBetween(String value1, String value2) {
            addCriterion("instrument_type not between", value1, value2, "instrumentType");
            return (Criteria) this;
        }

        public Criteria andCalibrationValidIsNull() {
            addCriterion("calibration_valid is null");
            return (Criteria) this;
        }

        public Criteria andCalibrationValidIsNotNull() {
            addCriterion("calibration_valid is not null");
            return (Criteria) this;
        }

        public Criteria andCalibrationValidEqualTo(String value) {
            addCriterion("calibration_valid =", value, "calibrationValid");
            return (Criteria) this;
        }

        public Criteria andCalibrationValidNotEqualTo(String value) {
            addCriterion("calibration_valid <>", value, "calibrationValid");
            return (Criteria) this;
        }

        public Criteria andCalibrationValidGreaterThan(String value) {
            addCriterion("calibration_valid >", value, "calibrationValid");
            return (Criteria) this;
        }

        public Criteria andCalibrationValidGreaterThanOrEqualTo(String value) {
            addCriterion("calibration_valid >=", value, "calibrationValid");
            return (Criteria) this;
        }

        public Criteria andCalibrationValidLessThan(String value) {
            addCriterion("calibration_valid <", value, "calibrationValid");
            return (Criteria) this;
        }

        public Criteria andCalibrationValidLessThanOrEqualTo(String value) {
            addCriterion("calibration_valid <=", value, "calibrationValid");
            return (Criteria) this;
        }

        public Criteria andCalibrationValidLike(String value) {
            addCriterion("calibration_valid like", value, "calibrationValid");
            return (Criteria) this;
        }

        public Criteria andCalibrationValidNotLike(String value) {
            addCriterion("calibration_valid not like", value, "calibrationValid");
            return (Criteria) this;
        }

        public Criteria andCalibrationValidIn(List<String> values) {
            addCriterion("calibration_valid in", values, "calibrationValid");
            return (Criteria) this;
        }

        public Criteria andCalibrationValidNotIn(List<String> values) {
            addCriterion("calibration_valid not in", values, "calibrationValid");
            return (Criteria) this;
        }

        public Criteria andCalibrationValidBetween(String value1, String value2) {
            addCriterion("calibration_valid between", value1, value2, "calibrationValid");
            return (Criteria) this;
        }

        public Criteria andCalibrationValidNotBetween(String value1, String value2) {
            addCriterion("calibration_valid not between", value1, value2, "calibrationValid");
            return (Criteria) this;
        }

        public Criteria andRecordIdIsNull() {
            addCriterion("record_id is null");
            return (Criteria) this;
        }

        public Criteria andRecordIdIsNotNull() {
            addCriterion("record_id is not null");
            return (Criteria) this;
        }

        public Criteria andRecordIdEqualTo(String value) {
            addCriterion("record_id =", value, "recordId");
            return (Criteria) this;
        }

        public Criteria andRecordIdNotEqualTo(String value) {
            addCriterion("record_id <>", value, "recordId");
            return (Criteria) this;
        }

        public Criteria andRecordIdGreaterThan(String value) {
            addCriterion("record_id >", value, "recordId");
            return (Criteria) this;
        }

        public Criteria andRecordIdGreaterThanOrEqualTo(String value) {
            addCriterion("record_id >=", value, "recordId");
            return (Criteria) this;
        }

        public Criteria andRecordIdLessThan(String value) {
            addCriterion("record_id <", value, "recordId");
            return (Criteria) this;
        }

        public Criteria andRecordIdLessThanOrEqualTo(String value) {
            addCriterion("record_id <=", value, "recordId");
            return (Criteria) this;
        }

        public Criteria andRecordIdLike(String value) {
            addCriterion("record_id like", value, "recordId");
            return (Criteria) this;
        }

        public Criteria andRecordIdNotLike(String value) {
            addCriterion("record_id not like", value, "recordId");
            return (Criteria) this;
        }

        public Criteria andRecordIdIn(List<String> values) {
            addCriterion("record_id in", values, "recordId");
            return (Criteria) this;
        }

        public Criteria andRecordIdNotIn(List<String> values) {
            addCriterion("record_id not in", values, "recordId");
            return (Criteria) this;
        }

        public Criteria andRecordIdBetween(String value1, String value2) {
            addCriterion("record_id between", value1, value2, "recordId");
            return (Criteria) this;
        }

        public Criteria andRecordIdNotBetween(String value1, String value2) {
            addCriterion("record_id not between", value1, value2, "recordId");
            return (Criteria) this;
        }

        public Criteria andSamplingTimeIsNull() {
            addCriterion("sampling_time is null");
            return (Criteria) this;
        }

        public Criteria andSamplingTimeIsNotNull() {
            addCriterion("sampling_time is not null");
            return (Criteria) this;
        }

        public Criteria andSamplingTimeEqualTo(Date value) {
            addCriterion("sampling_time =", value, "samplingTime");
            return (Criteria) this;
        }

        public Criteria andSamplingTimeNotEqualTo(Date value) {
            addCriterion("sampling_time <>", value, "samplingTime");
            return (Criteria) this;
        }

        public Criteria andSamplingTimeGreaterThan(Date value) {
            addCriterion("sampling_time >", value, "samplingTime");
            return (Criteria) this;
        }

        public Criteria andSamplingTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("sampling_time >=", value, "samplingTime");
            return (Criteria) this;
        }

        public Criteria andSamplingTimeLessThan(Date value) {
            addCriterion("sampling_time <", value, "samplingTime");
            return (Criteria) this;
        }

        public Criteria andSamplingTimeLessThanOrEqualTo(Date value) {
            addCriterion("sampling_time <=", value, "samplingTime");
            return (Criteria) this;
        }

        public Criteria andSamplingTimeIn(List<Date> values) {
            addCriterion("sampling_time in", values, "samplingTime");
            return (Criteria) this;
        }

        public Criteria andSamplingTimeNotIn(List<Date> values) {
            addCriterion("sampling_time not in", values, "samplingTime");
            return (Criteria) this;
        }

        public Criteria andSamplingTimeBetween(Date value1, Date value2) {
            addCriterion("sampling_time between", value1, value2, "samplingTime");
            return (Criteria) this;
        }

        public Criteria andSamplingTimeNotBetween(Date value1, Date value2) {
            addCriterion("sampling_time not between", value1, value2, "samplingTime");
            return (Criteria) this;
        }

        public Criteria andSamplingStartTimeIsNull() {
            addCriterion("sampling_start_time is null");
            return (Criteria) this;
        }

        public Criteria andSamplingStartTimeIsNotNull() {
            addCriterion("sampling_start_time is not null");
            return (Criteria) this;
        }

        public Criteria andSamplingStartTimeEqualTo(Date value) {
            addCriterion("sampling_start_time =", value, "samplingStartTime");
            return (Criteria) this;
        }

        public Criteria andSamplingStartTimeNotEqualTo(Date value) {
            addCriterion("sampling_start_time <>", value, "samplingStartTime");
            return (Criteria) this;
        }

        public Criteria andSamplingStartTimeGreaterThan(Date value) {
            addCriterion("sampling_start_time >", value, "samplingStartTime");
            return (Criteria) this;
        }

        public Criteria andSamplingStartTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("sampling_start_time >=", value, "samplingStartTime");
            return (Criteria) this;
        }

        public Criteria andSamplingStartTimeLessThan(Date value) {
            addCriterion("sampling_start_time <", value, "samplingStartTime");
            return (Criteria) this;
        }

        public Criteria andSamplingStartTimeLessThanOrEqualTo(Date value) {
            addCriterion("sampling_start_time <=", value, "samplingStartTime");
            return (Criteria) this;
        }

        public Criteria andSamplingStartTimeIn(List<Date> values) {
            addCriterion("sampling_start_time in", values, "samplingStartTime");
            return (Criteria) this;
        }

        public Criteria andSamplingStartTimeNotIn(List<Date> values) {
            addCriterion("sampling_start_time not in", values, "samplingStartTime");
            return (Criteria) this;
        }

        public Criteria andSamplingStartTimeBetween(Date value1, Date value2) {
            addCriterion("sampling_start_time between", value1, value2, "samplingStartTime");
            return (Criteria) this;
        }

        public Criteria andSamplingStartTimeNotBetween(Date value1, Date value2) {
            addCriterion("sampling_start_time not between", value1, value2, "samplingStartTime");
            return (Criteria) this;
        }

        public Criteria andSamplingEndTimeIsNull() {
            addCriterion("sampling_end_time is null");
            return (Criteria) this;
        }

        public Criteria andSamplingEndTimeIsNotNull() {
            addCriterion("sampling_end_time is not null");
            return (Criteria) this;
        }

        public Criteria andSamplingEndTimeEqualTo(Date value) {
            addCriterion("sampling_end_time =", value, "samplingEndTime");
            return (Criteria) this;
        }

        public Criteria andSamplingEndTimeNotEqualTo(Date value) {
            addCriterion("sampling_end_time <>", value, "samplingEndTime");
            return (Criteria) this;
        }

        public Criteria andSamplingEndTimeGreaterThan(Date value) {
            addCriterion("sampling_end_time >", value, "samplingEndTime");
            return (Criteria) this;
        }

        public Criteria andSamplingEndTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("sampling_end_time >=", value, "samplingEndTime");
            return (Criteria) this;
        }

        public Criteria andSamplingEndTimeLessThan(Date value) {
            addCriterion("sampling_end_time <", value, "samplingEndTime");
            return (Criteria) this;
        }

        public Criteria andSamplingEndTimeLessThanOrEqualTo(Date value) {
            addCriterion("sampling_end_time <=", value, "samplingEndTime");
            return (Criteria) this;
        }

        public Criteria andSamplingEndTimeIn(List<Date> values) {
            addCriterion("sampling_end_time in", values, "samplingEndTime");
            return (Criteria) this;
        }

        public Criteria andSamplingEndTimeNotIn(List<Date> values) {
            addCriterion("sampling_end_time not in", values, "samplingEndTime");
            return (Criteria) this;
        }

        public Criteria andSamplingEndTimeBetween(Date value1, Date value2) {
            addCriterion("sampling_end_time between", value1, value2, "samplingEndTime");
            return (Criteria) this;
        }

        public Criteria andSamplingEndTimeNotBetween(Date value1, Date value2) {
            addCriterion("sampling_end_time not between", value1, value2, "samplingEndTime");
            return (Criteria) this;
        }

        public Criteria andProjectNameIsNull() {
            addCriterion("project_name is null");
            return (Criteria) this;
        }

        public Criteria andProjectNameIsNotNull() {
            addCriterion("project_name is not null");
            return (Criteria) this;
        }

        public Criteria andProjectNameEqualTo(String value) {
            addCriterion("project_name =", value, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameNotEqualTo(String value) {
            addCriterion("project_name <>", value, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameGreaterThan(String value) {
            addCriterion("project_name >", value, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameGreaterThanOrEqualTo(String value) {
            addCriterion("project_name >=", value, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameLessThan(String value) {
            addCriterion("project_name <", value, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameLessThanOrEqualTo(String value) {
            addCriterion("project_name <=", value, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameLike(String value) {
            addCriterion("project_name like", value, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameNotLike(String value) {
            addCriterion("project_name not like", value, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameIn(List<String> values) {
            addCriterion("project_name in", values, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameNotIn(List<String> values) {
            addCriterion("project_name not in", values, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameBetween(String value1, String value2) {
            addCriterion("project_name between", value1, value2, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameNotBetween(String value1, String value2) {
            addCriterion("project_name not between", value1, value2, "projectName");
            return (Criteria) this;
        }

        public Criteria andSampleNumberIsNull() {
            addCriterion("sample_number is null");
            return (Criteria) this;
        }

        public Criteria andSampleNumberIsNotNull() {
            addCriterion("sample_number is not null");
            return (Criteria) this;
        }

        public Criteria andSampleNumberEqualTo(String value) {
            addCriterion("sample_number =", value, "sampleNumber");
            return (Criteria) this;
        }

        public Criteria andSampleNumberNotEqualTo(String value) {
            addCriterion("sample_number <>", value, "sampleNumber");
            return (Criteria) this;
        }

        public Criteria andSampleNumberGreaterThan(String value) {
            addCriterion("sample_number >", value, "sampleNumber");
            return (Criteria) this;
        }

        public Criteria andSampleNumberGreaterThanOrEqualTo(String value) {
            addCriterion("sample_number >=", value, "sampleNumber");
            return (Criteria) this;
        }

        public Criteria andSampleNumberLessThan(String value) {
            addCriterion("sample_number <", value, "sampleNumber");
            return (Criteria) this;
        }

        public Criteria andSampleNumberLessThanOrEqualTo(String value) {
            addCriterion("sample_number <=", value, "sampleNumber");
            return (Criteria) this;
        }

        public Criteria andSampleNumberLike(String value) {
            addCriterion("sample_number like", value, "sampleNumber");
            return (Criteria) this;
        }

        public Criteria andSampleNumberNotLike(String value) {
            addCriterion("sample_number not like", value, "sampleNumber");
            return (Criteria) this;
        }

        public Criteria andSampleNumberIn(List<String> values) {
            addCriterion("sample_number in", values, "sampleNumber");
            return (Criteria) this;
        }

        public Criteria andSampleNumberNotIn(List<String> values) {
            addCriterion("sample_number not in", values, "sampleNumber");
            return (Criteria) this;
        }

        public Criteria andSampleNumberBetween(String value1, String value2) {
            addCriterion("sample_number between", value1, value2, "sampleNumber");
            return (Criteria) this;
        }

        public Criteria andSampleNumberNotBetween(String value1, String value2) {
            addCriterion("sample_number not between", value1, value2, "sampleNumber");
            return (Criteria) this;
        }

        public Criteria andUsedByIsNull() {
            addCriterion("used_by is null");
            return (Criteria) this;
        }

        public Criteria andUsedByIsNotNull() {
            addCriterion("used_by is not null");
            return (Criteria) this;
        }

        public Criteria andUsedByEqualTo(String value) {
            addCriterion("used_by =", value, "usedBy");
            return (Criteria) this;
        }

        public Criteria andUsedByNotEqualTo(String value) {
            addCriterion("used_by <>", value, "usedBy");
            return (Criteria) this;
        }

        public Criteria andUsedByGreaterThan(String value) {
            addCriterion("used_by >", value, "usedBy");
            return (Criteria) this;
        }

        public Criteria andUsedByGreaterThanOrEqualTo(String value) {
            addCriterion("used_by >=", value, "usedBy");
            return (Criteria) this;
        }

        public Criteria andUsedByLessThan(String value) {
            addCriterion("used_by <", value, "usedBy");
            return (Criteria) this;
        }

        public Criteria andUsedByLessThanOrEqualTo(String value) {
            addCriterion("used_by <=", value, "usedBy");
            return (Criteria) this;
        }

        public Criteria andUsedByLike(String value) {
            addCriterion("used_by like", value, "usedBy");
            return (Criteria) this;
        }

        public Criteria andUsedByNotLike(String value) {
            addCriterion("used_by not like", value, "usedBy");
            return (Criteria) this;
        }

        public Criteria andUsedByIn(List<String> values) {
            addCriterion("used_by in", values, "usedBy");
            return (Criteria) this;
        }

        public Criteria andUsedByNotIn(List<String> values) {
            addCriterion("used_by not in", values, "usedBy");
            return (Criteria) this;
        }

        public Criteria andUsedByBetween(String value1, String value2) {
            addCriterion("used_by between", value1, value2, "usedBy");
            return (Criteria) this;
        }

        public Criteria andUsedByNotBetween(String value1, String value2) {
            addCriterion("used_by not between", value1, value2, "usedBy");
            return (Criteria) this;
        }

        public Criteria andKeeperIsNull() {
            addCriterion("keeper is null");
            return (Criteria) this;
        }

        public Criteria andKeeperIsNotNull() {
            addCriterion("keeper is not null");
            return (Criteria) this;
        }

        public Criteria andKeeperEqualTo(String value) {
            addCriterion("keeper =", value, "keeper");
            return (Criteria) this;
        }

        public Criteria andKeeperNotEqualTo(String value) {
            addCriterion("keeper <>", value, "keeper");
            return (Criteria) this;
        }

        public Criteria andKeeperGreaterThan(String value) {
            addCriterion("keeper >", value, "keeper");
            return (Criteria) this;
        }

        public Criteria andKeeperGreaterThanOrEqualTo(String value) {
            addCriterion("keeper >=", value, "keeper");
            return (Criteria) this;
        }

        public Criteria andKeeperLessThan(String value) {
            addCriterion("keeper <", value, "keeper");
            return (Criteria) this;
        }

        public Criteria andKeeperLessThanOrEqualTo(String value) {
            addCriterion("keeper <=", value, "keeper");
            return (Criteria) this;
        }

        public Criteria andKeeperLike(String value) {
            addCriterion("keeper like", value, "keeper");
            return (Criteria) this;
        }

        public Criteria andKeeperNotLike(String value) {
            addCriterion("keeper not like", value, "keeper");
            return (Criteria) this;
        }

        public Criteria andKeeperIn(List<String> values) {
            addCriterion("keeper in", values, "keeper");
            return (Criteria) this;
        }

        public Criteria andKeeperNotIn(List<String> values) {
            addCriterion("keeper not in", values, "keeper");
            return (Criteria) this;
        }

        public Criteria andKeeperBetween(String value1, String value2) {
            addCriterion("keeper between", value1, value2, "keeper");
            return (Criteria) this;
        }

        public Criteria andKeeperNotBetween(String value1, String value2) {
            addCriterion("keeper not between", value1, value2, "keeper");
            return (Criteria) this;
        }

        public Criteria andStateIsNull() {
            addCriterion("state is null");
            return (Criteria) this;
        }

        public Criteria andStateIsNotNull() {
            addCriterion("state is not null");
            return (Criteria) this;
        }

        public Criteria andStateEqualTo(Integer value) {
            addCriterion("state =", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateNotEqualTo(Integer value) {
            addCriterion("state <>", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateGreaterThan(Integer value) {
            addCriterion("state >", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateGreaterThanOrEqualTo(Integer value) {
            addCriterion("state >=", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateLessThan(Integer value) {
            addCriterion("state <", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateLessThanOrEqualTo(Integer value) {
            addCriterion("state <=", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateIn(List<Integer> values) {
            addCriterion("state in", values, "state");
            return (Criteria) this;
        }

        public Criteria andStateNotIn(List<Integer> values) {
            addCriterion("state not in", values, "state");
            return (Criteria) this;
        }

        public Criteria andStateBetween(Integer value1, Integer value2) {
            addCriterion("state between", value1, value2, "state");
            return (Criteria) this;
        }

        public Criteria andStateNotBetween(Integer value1, Integer value2) {
            addCriterion("state not between", value1, value2, "state");
            return (Criteria) this;
        }

        public Criteria andInfoIsNull() {
            addCriterion("info is null");
            return (Criteria) this;
        }

        public Criteria andInfoIsNotNull() {
            addCriterion("info is not null");
            return (Criteria) this;
        }

        public Criteria andInfoEqualTo(String value) {
            addCriterion("info =", value, "info");
            return (Criteria) this;
        }

        public Criteria andInfoNotEqualTo(String value) {
            addCriterion("info <>", value, "info");
            return (Criteria) this;
        }

        public Criteria andInfoGreaterThan(String value) {
            addCriterion("info >", value, "info");
            return (Criteria) this;
        }

        public Criteria andInfoGreaterThanOrEqualTo(String value) {
            addCriterion("info >=", value, "info");
            return (Criteria) this;
        }

        public Criteria andInfoLessThan(String value) {
            addCriterion("info <", value, "info");
            return (Criteria) this;
        }

        public Criteria andInfoLessThanOrEqualTo(String value) {
            addCriterion("info <=", value, "info");
            return (Criteria) this;
        }

        public Criteria andInfoLike(String value) {
            addCriterion("info like", value, "info");
            return (Criteria) this;
        }

        public Criteria andInfoNotLike(String value) {
            addCriterion("info not like", value, "info");
            return (Criteria) this;
        }

        public Criteria andInfoIn(List<String> values) {
            addCriterion("info in", values, "info");
            return (Criteria) this;
        }

        public Criteria andInfoNotIn(List<String> values) {
            addCriterion("info not in", values, "info");
            return (Criteria) this;
        }

        public Criteria andInfoBetween(String value1, String value2) {
            addCriterion("info between", value1, value2, "info");
            return (Criteria) this;
        }

        public Criteria andInfoNotBetween(String value1, String value2) {
            addCriterion("info not between", value1, value2, "info");
            return (Criteria) this;
        }

        public Criteria andCreateByIsNull() {
            addCriterion("create_by is null");
            return (Criteria) this;
        }

        public Criteria andCreateByIsNotNull() {
            addCriterion("create_by is not null");
            return (Criteria) this;
        }

        public Criteria andCreateByEqualTo(String value) {
            addCriterion("create_by =", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotEqualTo(String value) {
            addCriterion("create_by <>", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByGreaterThan(String value) {
            addCriterion("create_by >", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByGreaterThanOrEqualTo(String value) {
            addCriterion("create_by >=", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByLessThan(String value) {
            addCriterion("create_by <", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByLessThanOrEqualTo(String value) {
            addCriterion("create_by <=", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByLike(String value) {
            addCriterion("create_by like", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotLike(String value) {
            addCriterion("create_by not like", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByIn(List<String> values) {
            addCriterion("create_by in", values, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotIn(List<String> values) {
            addCriterion("create_by not in", values, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByBetween(String value1, String value2) {
            addCriterion("create_by between", value1, value2, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotBetween(String value1, String value2) {
            addCriterion("create_by not between", value1, value2, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andDeletedIsNull() {
            addCriterion("deleted is null");
            return (Criteria) this;
        }

        public Criteria andDeletedIsNotNull() {
            addCriterion("deleted is not null");
            return (Criteria) this;
        }

        public Criteria andDeletedEqualTo(Integer value) {
            addCriterion("deleted =", value, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedNotEqualTo(Integer value) {
            addCriterion("deleted <>", value, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedGreaterThan(Integer value) {
            addCriterion("deleted >", value, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedGreaterThanOrEqualTo(Integer value) {
            addCriterion("deleted >=", value, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedLessThan(Integer value) {
            addCriterion("deleted <", value, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedLessThanOrEqualTo(Integer value) {
            addCriterion("deleted <=", value, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedIn(List<Integer> values) {
            addCriterion("deleted in", values, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedNotIn(List<Integer> values) {
            addCriterion("deleted not in", values, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedBetween(Integer value1, Integer value2) {
            addCriterion("deleted between", value1, value2, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedNotBetween(Integer value1, Integer value2) {
            addCriterion("deleted not between", value1, value2, "deleted");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}